<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        /* 
            增 created 往对象中添加一个键值对 
            删 deleted 删除对象的一个成员(键值对)
            改 update  修改对象的某一个成员(键值对)
            查 read    访问某个成员 键对应的值 
        
        
        
        */

       /* 
            点语法   ..的.. 
            // arguments.length
            // 字符串.length
            // 变量.toString()

            增:对象名．键名＝　值   对一个不存在的键赋值  就是增 
            删：delete 對象.鍵名
            改： 對象名.鍵名 = 新值
            查： 對象名.鍵名
       
       
       
       
       */

    //    var person = {};
    //    console.log('原始对象',person);
    //    person.name = 'zhangsan';
    //    person.age = 18
    //    person.height = '181cm'
    //    console.log('增加以后的',person);

    //    delete person.age
    //    console.log('删除以后的',person);
    //    person.name = '我心待明月';
    //    console.log('修改以后的',person);

    //    console.log(person.name);
    //    console.log(person.height);


    /* 
        数组关联语法 
       
            增:对象名['键名']＝　值   对一个不存在的键赋值  就是增 
            删：delete 對象['鍵名']
            改： 對象名['鍵名'] = 新值
            查： 對象名['鍵名']
       
    
    */

    //    var person = {};
    //    console.log('原始对象',person);
    //    person['name'] = 'zhangsan';
    //    person['age'] = 18
    //    person['height'] = '181cm'
    //    console.log('增加以后的',person);

    //    delete person['age']
    //    console.log('删除以后的',person);
    //    person['name'] = '我心待明月';
    //    console.log('修改以后的',person);

    //    console.log(person['name']);
    //    console.log(person['height']);


    // 如果你的对象的键名字 是数字或者 特殊符号 那么只能使用 数组关联语法 

    // var person = {
    //     'name':'zhangsan',
    //     11:'kangbazi',
    //     '&haha':'test'
    // }
    // // person.11 = 'yyds';// 报错
    // person[11] = 'yyds';
    // person['&haha'] = '666';// 报错


    // console.log(person)

    
    var person = {
        'name':'张三',
        age:18
    }

    var test = 'age';  // 把键放到一个变量中  

    console.log(person.test)// undefined   通过变量访问值  不支持
    console.log(person['test']) // undefined   不支持
    console.log(person[test]) // 18  

    // 如果键被放到了一个变量中  通过变量访问对应值  
    // 只能用 数组关联语法   不支持 点语法  
    // 也不支持 给变量加引号  


    </script>
</body>
</html>